/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package raccoon.suvisa.datos.fachadas.beans;

import java.math.BigDecimal;
import raccoon.suvisa.datos.fachadas.*;
import javax.ejb.Stateless;
import java.util.logging.Logger;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import raccoon.suvisa.datos.entities.Thabiente;

/**
 *
 * @author sala_bd
 */
@Stateless
public class TarjetaHabienteBean implements TarjetaHabienteRemote {

    @PersistenceContext
    private EntityManager em;

    @Override
    public Thabiente getTarjetahabiente(String idTh) {
        try {
            List<Thabiente> lst = em.createNamedQuery("Thabiente.findByNid").setParameter("nid", idTh).getResultList();
            if (!lst.isEmpty()) {
                Thabiente th = lst.get(0);
                return th;
            }
        } catch (Exception e) {
            Logger.getLogger(TarjetaHabienteBean.class.getName()).info("ERROR!!!" + e.getMessage());
        }
        return null;
    }

    @Override
    public boolean guardarNuevoTarjetaHabiente(Thabiente tarjetaHabiente, BigDecimal idEntidad) {
        try {
            List lst = em.createNamedQuery("Entidad.findByIdEntidad").setParameter("idEntidad", idEntidad).getResultList();
            if (!lst.isEmpty()) {
                tarjetaHabiente.setIdentidad(idEntidad.toBigInteger());
                em.persist(tarjetaHabiente);
                return true;
            }
        } catch (Exception e) {
            Logger.getLogger(TarjetaHabienteBean.class.getName()).info("ERROR!!!" + e.getMessage());

        }
        return false;
    }

    @Override
    public boolean actualizarTarjetaHabiente(Thabiente tarjetaHabiente) {
        try {
            em.merge(tarjetaHabiente);
            return true;
        } catch (Exception e) {
            Logger.getLogger(TarjetaHabienteBean.class.getName()).info("ERROR!!!" + e.getMessage());
            return false;
        }
    }
}
